/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package AccesoDatos.DAOLocal;

import AccesoDatos.IDAO.IDAOConfiguracion;
import ObjetoDominio.Servidor;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

/**
 *Clase que implementa la interface IDAOConfiguracion para la lectura de la configuracion
 * inicial del cliente desde un archivo xml
 * @author familia
 */
public class DAOConfiguracion implements IDAOConfiguracion {

    
    @Override
    public List<Servidor> ObtenerListaServidores() {
        List<Servidor> retorno = new ArrayList<Servidor>();
        try{
            SAXBuilder builder = new SAXBuilder();
            Document result = builder.build(new FileInputStream("Configuracion.xml"));  
            Element raiz = result.getRootElement(); 
            List<Element> hijosRaiz = raiz.getChildren("servidor"); 
            for (Element elemento : hijosRaiz) {
                Servidor servidor = new Servidor();
                servidor.setIp(elemento.getChild("ip").getValue());
                servidor.setPuerto(Integer.parseInt(elemento.getChild("puertoPrincipal").getValue()));
                servidor.setPuertoSecundario(Integer.parseInt(elemento.getChild("puertoSecundario").getValue()));
                servidor.setActivo(true);
                retorno.add(servidor);
            }
            return retorno;
        } catch (Exception e) {  
            System.out.println(e.getMessage());
            return retorno;
        }
    }
    
}
